// https://www.luogu.com.cn/problem/P1255
#include <iostream>
using namespace std;
const int maxn = 5 + 1e4;

int f[maxn][maxn];  // 使用字符串模拟加法，
int len = 1;        // 高精度串的长度，逐步增加即可，因为不可能一次性进位 2 位

void func(int i) {
    for (int j = 1; j <= len; ++j) {  // 只需要到达指定长度即可
        f[i][j] += f[i - 1][j] + f[i - 2][j];
        if (f[i][j] > 9)
            f[i][j + 1]++, f[i][j] -= 10;
    }
    if (f[i][len + 1]) len++;  // 进位，字符串长度 + 1
}

int main() {
    f[0][1] = f[1][1] = 1;
    int n;
    cin >> n;
    for (int i = 2; i <= n; ++i)
        func(i);  // f[i] = f[i - 1] + f[i - 2]
    for (int i = len; i >= 1; --i)
        cout << f[n][i];
}
